<template>
  <div class="todo-header">
    <input 
      type="text" 
      placeholder="请输入你的任务名称，按回车键确认" 
      v-model="msg"
      @keyup.enter="addNewTodo"
    />
  </div>
</template>

<script lang="ts">
import { defineComponent } from "vue";

export default defineComponent({
  name: "Header",
});
</script>

<script setup lang="ts">
import { nanoid } from "nanoid";
import {defineProps , ref } from "vue"
 
import type {todoListItemType} from "../../App.vue"
interface propsType {
  addTodo(newTodo: todoListItemType): void
}
const props = defineProps<propsType>()

const msg = ref("")
const addNewTodo = () => {
  //判断不能为空
  if(!msg.value) return alert("输入的内容不能为空")
  //添加
  props.addTodo({id:nanoid() , thing:msg.value , done: false})
  //清空
  msg.value = ""
}
</script>

<style scoped>
/*header*/
.todo-header input {
  width: 560px;
  height: 28px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 4px 7px;
}

.todo-header input:focus {
  outline: none;
  border-color: rgba(82, 168, 236, 0.8);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),
    0 0 8px rgba(82, 168, 236, 0.6);
}
</style>
